package com.hh.until;

import java.math.BigDecimal;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.time.LocalDate;
import java.util.Date;

public class Tool {

    private Tool() {
    }

    public static Integer nullToInt(Integer value) {
        try {
            return value == null ? -1 : value;
//            return Integer.parseInt(value);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return -1;
    }

    public static Integer strToInt(String value) {
        try {
            return value == "" ? -1 : Integer.parseInt(value);
//            return Integer.parseInt(value);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return -1;
    }

    public static Integer strToPage(String value) {
        try {
            return Integer.valueOf(value);
        } catch (Exception e) {
//            e.printStackTrace();
        }
        return 1;
    }

    public static Integer strToLimit(String value) {
        try {

            return Integer.valueOf(value);
        } catch (Exception e) {
//            e.printStackTrace();
        }
        return 5;
    }

    public static String nullToStr(String value) {
        return value == null ? null : value;
    }

    public static String nullToDate(String value) {

        String reg = "yyyy-MM-dd";
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat(reg);
        try {
            Date data = simpleDateFormat.parse(value == "" ? simpleDateFormat.format(new Date()) : value);
            return simpleDateFormat.format(data);
        } catch (ParseException e) {
//            e.printStackTrace();
        }

        return simpleDateFormat.format(new Date());
    }

    public static String nullToDateTime(String value) {

        String reg = "yyyy-MM-dd";
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat(reg);
        try {
            Date date = simpleDateFormat.parse(value == null ? "0001-01-01" : value);
            return simpleDateFormat.format(date);
        } catch (ParseException e) {
//            e.printStackTrace();
        }
        return "0001-01-01";
    }

    public static BigDecimal strToDecimal(BigDecimal value) {
        try {
            return value == null ? new BigDecimal(0) : value;
        } catch (Exception e) {
            e.printStackTrace();
        }
        return new BigDecimal(0);
    }
}
